//
//  shunxubiao.m
//  C
//
//  Created by 钟纪旺 on 16/4/8.
//  Copyright © 2016年 zjw. All rights reserved.
//

#import "shunxubiao.h"

@implementation shunxubiao
////
////  main.c
////  3-22顺序表
////
////  Created by 钟纪旺 on 16/3/22.
////  Copyright © 2016年 zjw. All rights reserved.
////
//
//#include <stdio.h>
//#include <stdlib.h>
//#define MAX_SIZE 100
//#define ERROR    0
//#define TRUE1    1
////创建一个简单的顺序表，表中的数据元素使用数组来设置，长度为length
//
//typedef  struct sqlist {
//    //表中元素的数据，用一个数组来表示
//    
//    int elem_array[MAX_SIZE];
//    //表的长度
//    int length;
//    
//    
//}SqList;
////1.初始化表
//int Init_SpList(SqList * L){
//    //分配内存 ，需要程序员手动分配内存（堆区分配）
//    //分配最大长度 MAX_SIZE个数据类型（int）的总大小
//    int *p= L->elem_array;
//    //数组名作为数组的地址是一个常量，不能去赋值，只能将分配的内存赋值给指针变量。不能赋值给常量。
//    p =(int *)malloc(sizeof(int)*MAX_SIZE);
//    //当分配内存失败，提示
//    if(p==NULL){
//        printf("分配空间失败\n");
//        return ERROR;
//    }
//    else {
//        //设置表的长度一开始为0
//        L->length=0;
//        return TRUE1;
//        
//    }
//    
//}
////2.顺序表的插入操作
///*
// 步骤的实现：
// 1.将表L中的第i个至最后一个元素依次往后移动一个位置
// 2.将新的要插入的结点放在a（i－1）结点后面
// 3.表的长度加1
// */
//int Insert_SpList(SqList*L/*表的位置*/,int i,int e)
//{
//    int j=0;
//    // 判断插入的位置是否在表的范围内
//    if(i<0||i>L->length+1){
//        
//        
//        printf("插入位置错误\n");
//        return ERROR;
//    }
//    //  判断表是否溢出
//    if (L->length>=MAX_SIZE) {
//        printf("线性表溢出\n");
//        return ERROR;
//    }
//    //移动插入位置后面的所有元素
//    for (j=L->length-1; j>=i-1; j--) {
//        //每一个元素往后移动一个位置
//        L->elem_array[j+1]=L->elem_array[j];
//    }
//    //循环结束后 意味着指定位置依旧腾出来空间，可以存放要插入的数据了
//    L->elem_array[i-1]=e;
//    L->length++;
//    return TRUE1;
//}
////3.顺序表的删除操作
///*
// 步骤 ：1.将表L中的第i个至最后一个元素依次往前移动一个位置
// 3.表的长度减1
// 
// */
//int Delete_SqList(SqList*L/*表的位置*/,int i)
//{   int j;
//    //判断表是否为空 如果为空不存在该操作
//    if(L->length==0){
//        printf("数据为空不存在该操作\n");
//        return ERROR;
//    }
//    //判断删除的位置存不存在
//    else if (i<1||i>L->length){
//        printf("删除的数据不存在\n");
//        return ERROR;
//    }else {
//        //执行删除操作
//        for (j=i; j<L->length; j++) {
//            //每一个元素往前移动一个位置
//            L->elem_array[j-1]=L->elem_array[j];
//        }
//        //循环结束后 意味着指定位置依旧腾出来空间，可以存放要插入的数据了
//        L->length--;
//        return TRUE1;
//    } //移动插入位置后面的所有元素
//    
//    
//    
//    
//    
//    
//}
////返回成绩表的长度（有多少个同学的成绩）
//int Length_SqList(SqList*L){
//    
//    return L->length;
//    
//}
////给成绩表的末尾加一个数据
//int add_SqList(SqList*L,int sc){
//    
//    if (L->length==MAX_SIZE) {
//        printf("数据表已溢出\n");
//        return ERROR;
//    }
//    
//    L->elem_array[L->length]=sc;
//    return TRUE1;
//    
//}
////打印成绩表的函数
//void print_SqList(SqList*L){
//    
//    //打印线性表的数据
//    printf("线性表的内容:");
//    for (int i=0;i<L->length; i++) {
//        printf("%d\t",L->elem_array[i]);
//    }
//    printf("\n");
//    
//    
//    
//}
////删除指定的数据值(删除第一个为59的成绩数据)
///*步骤：1.要在成绩表中找到该成绩第一次出现的位置
// 2.调用删除指定位置的函数
// 3.长度－1
// 
// 
// 
// */
//int Delete_Data(SqList*L,int sc)
//{   if(L->length==0){
//    printf(" 成绩表中没有数据，不能执行该操作\n");
//    
//}
//    //循环查找要删除的成绩的位置
//    int i=0;
//    //i 为第一次出现sc成绩的位置
//    for (i=0; i<L->length; i++) {
//        //如果找到成绩，那么break
//        if(sc==L->elem_array[i]){
//            break;
//        }
//        
//    }
//    //如果循环查找到了成绩表的最后没有找到成绩
//    if (i==L->length) {
//        printf("没有找到该成绩，删除失败\n");
//    }
//    //删除i位置那个位置的成绩
//    Delete_SqList(L, i+1);
//    return TRUE1;
//    
//    
//}
//
//int main(int argc, const char * argv[]) {
//    //使用顺序表
//    SqList list;
//    
//    if (!Init_SpList(&list)) {
//        printf("表初始化失败\n");
//    }else {
//        printf("表初始化成功\n");
//        if(!Insert_SpList(&list,1,89)){
//            printf("数据插入失败\n");
//        }
//        else {printf("数据插入成功\n");
//        }
//        Insert_SpList(&list,2,19);
//        Insert_SpList(&list,3,29);
//        Insert_SpList(&list,4,39);
//    }
//    //    print_SqList(&list);
//    //    Delete_SqList(&list, 1);
//    print_SqList(&list);
//    Delete_Data(&list, 29);
//    print_SqList(&list);
//    //释放使用完的list内存
//    free(&list);
//    return 0;
//}

-(void)biao{
    
    NSLog(@"顺序表%@在注释中!",self.name);
    
    
    
}@end
